<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>对象相关</title>
</head>
<body>

<script>
    //定义一个对象 定义一个空对象 没有属性 没有方法
    // 类似Java中创建一个空的Person.java 类文件
    let Person = function () {}
    //实例化对象
    let p = new Person();
    //可以动态给对象添加属性和方法 (java中不允许)
    p.name="张三";
    p.age=18;
    p.run=function () {
        alert(this.name+":"+this.age);
    }
    //调用对象的方法
    //p.run();

    //定义一个带有构造方法的对象
    let Car = function (name,price) {
        this.name=name;
        this.price=price;
        this.cell = function () {
            alert("我叫"+this.name+"售价:"+this.price+"元!");
        }
    }
    //实例化对象
    let c1 = new Car("蔚来Es8",580000);
    c1.cell();

    //直接实例化空对象 这种写法不需要定义对象
    let p1 = {};
    //动态添加属性和方法
    p1.name="李白";
    p1.age=18;
    p1.run = function () {
        alert(this.name+":"+this.age);
    }
    p1.run();
    //实例化带属性和方法的对象
    let p2 = {
        name:"张三",
        age:66,
        run:function () {
            alert(this.name+":"+this.age);
        }
    }
    p2.run();
</script>
</body>
</html>